//
//  GhSqliteDBMgr.h
//
//  Created by user on 12-5-15.
//  Copyright 2012年 (网龙)DeNA. All rights reserved.
//  不支持多线程操作 郭浩

#ifndef __poker__GhSqliteDb__
#define __poker__GhSqliteDb__

#include "sqlite3.h"
#include <vector>
#include <string>

class GhSqliteDb
{
public:
    GhSqliteDb();
    ~GhSqliteDb();

    void initDataBase(const char* pszDBName);
    int  selectData(const char* pszSelectSql, int nColNum);
    bool excuteSql(const char* pszSql);
    int  getColDataN(int nIdx, int nFieldIdx);
    const char* getColDataS(int nIdx, int nFieldIdx);
    bool isExistTable(const char* pszTableName);
    const char* getName();

private:

    void releaseData(void);
    std::string getDBPath(const char* pszDBName);

private:
    typedef std::vector<std::string> VEC_COL_DATA;
    typedef std::vector<VEC_COL_DATA> VEC_ROW_DATA;
    VEC_ROW_DATA m_kRowDataVector;
    std::string m_strPath;
    std::string m_strDBName;
    sqlite3* m_pkDatabase;
};

#endif /* defined(__poker__GhSqliteDb__) */
